import csv

def clean_title(title):
    """
    清理书名逻辑优化：
    1. 先去除首尾空格
    2. 按中文冒号、英文冒号、空格依次分割
    3. 确保保留有效书名部分
    """
    title = title.strip()  # 先去除首尾空格

    # 处理中文冒号（优先处理冒号类分隔符）
    if '：' in title:
        title = title.split('：', 1)[0].strip()

    # 处理英文冒号
    if ':' in title:
        title = title.split(':', 1)[0].strip()

    # 处理空格（仅当空格前有内容时分割）
    if ' ' in title and len(title.split(' ', 1)[0]) > 0:
        title = title.split(' ', 1)[0].strip()

    return title


# 输入和输出文件路径（请修改为实际路径）
input_file = '../dangdang_books_jishi.csv'  # 例如：'dangdang_books.csv'
output_file = 'jishi_cleand.csv'

try:
    with open(input_file, 'r', encoding='utf-8-sig') as in_f, \
            open(output_file, 'w', newline='', encoding='utf-8-sig') as out_f:

        reader = csv.reader(in_f)
        writer = csv.writer(out_f)

        # 读取表头并写入
        header = next(reader)
        writer.writerow(header)

        # 处理每一行数据
        for row in reader:
            if len(row) >= 2:  # 确保存在书名列
                row[1] = clean_title(row[1])  # 清理书名
                writer.writerow(row)  # 写入处理后的数据

    print(f"处理完成，结果保存至 {output_file}")

except FileNotFoundError:
    print(f"错误：未找到文件 {input_file}，请检查路径是否正确")
except Exception as e:
    print(f"处理过程中出错：{str(e)}")